using UnityEngine; namespace NextMind.Examples.Steps { /// /// An AbstractStep is the base class defining a step managed by the . /// public abstract class AbstractStep : MonoBehaviour { /// /// A reference to the stepsManager. /// protected internal StepsManager stepsManager; /// /// Function triggered when this step instance is opened. /// public virtual void OnEnterStep() { } /// /// Function triggered when this step instance is left. /// public virtual void OnExitStep() { } /// /// Function triggered every frame when this step instance is active. /// public virtual void UpdateStep() { } /// /// Function telling the StepsManager if going to the next step from this one is allowed. /// /// True by default. public virtual bool GoToNextStepAllowed() { return true; } /// /// Function telling the StepsManager if going back to the previous step from this one is allowed. /// /// True by default. public virtual bool GoToPreviousStepAllowed() { return true; } } }